home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 04 - 1988 / 04.09 Sep 88 / PopMenus Source / PopMenus.r < prev   
Encoding:
Text File  |  1988-07-28  |  8.4 KB  |  496 lines  |  [TEXT/MPS ]

  1. /*****************************************************
  2. Pop-up Menu Example - Resources
  3. *****************************************************/
  4.  
  5. #include "Types.r"
  6. #include "PopMenuCDEF.r"
  7.  
  8. /* 1 = use color resources; 0 = don't */
  9. #define    COLOR    1
  10.  
  11.  
  12. /* include the CDEF */
  13. data 'CDEF' (pmCDEFResID, "popMenu") {
  14.     $$resource("PopMenuCDEF.CDEF", 'CDEF', 1)
  15. };
  16.  
  17. /* our sample dialog */
  18. resource 'DLOG' (128) {
  19.     {40, 70, 170, 440},        /* 130 tall, 370 wide */
  20.     dBoxProc,
  21.     visible,
  22.     noGoAway,
  23.     0x0,
  24.     128,
  25.     ""
  26. };
  27.  
  28. /* the sample dialog's item list: 3 pop-up menu ctls */
  29. resource 'DITL' (128) {
  30.     {    /* array DITLarray: 4 elements */
  31.         /* [1] */
  32.         {10, 275, 30, 360},
  33.         Button {
  34.             enabled,
  35.             "OK"
  36.         },
  37.         
  38.         /* [2] */
  39.         {40, 275, 60, 360},
  40.         Button {
  41.             enabled,
  42.             "Deactivate"
  43.         },
  44.         
  45.         /* [3] */
  46.         {10, 10, 30, 270},
  47.         Control {
  48.             enabled,
  49.             128
  50.         },
  51.         
  52.         /* [4] */
  53.         {40, 10, 60, 270},
  54.         Control {
  55.             enabled,
  56.             129
  57.         },
  58.         
  59.         /* [5] */
  60.         {70, 10, 90, 270},
  61.         Control {
  62.             enabled,
  63.             130
  64.         },
  65.         
  66.         /* [6] */
  67.         {90, 10, 125, 360},
  68.         StaticText {
  69.             disabled,
  70.             "PopUp Menu Control CDEF example.  "
  71.             "James Plamondon,  Abacus Concepts,  "
  72.             "(415) 540-1949."
  73.         }
  74.     }
  75. };
  76.  
  77. resource 'CNTL' (128) {
  78.     {10, 10, 30, 270},    /* rect:  contrlRect        */
  79.     128,                /* value: menu rsrc ID     */
  80.     visible,                /* vis:  standard        */
  81.     128,                /* max:  default menuID    */
  82.     2,                    /* min:  default item #    */
  83.     popMenuProc         /* ProcID:  3             */
  84.         + mCheck,        /* var: Check selection    */
  85.     0,                    /* rfCon: for user's use    */
  86.     "Thanks To: "        /* title: standard        */
  87. };
  88.  
  89. resource 'MENU' (128) {
  90.     128,
  91.     textMenuProc,
  92.     allEnabled,
  93.     enabled,
  94.     "Thanks To: ",
  95.     {    /* 11 items */
  96.         "Mark Williams",
  97.             noIcon, noKey, noMark, plain;
  98.         "Mark Bennet",
  99.             noIcon, noKey, appleChar, plain;
  100.         "Joseph Daniel",
  101.             noIcon, noKey, noMark, plain;
  102.         "Dr. Don Morrison",
  103.             noIcon, noKey, noMark, plain;
  104.         "Andrew Stone",
  105.             noIcon, noKey, noMark, plain;
  106.         "Eleanor Plamondon",
  107.             noIcon, noKey, noMark, plain;
  108.         "Bruce Wampler",
  109.             noIcon, noKey, noMark, plain;
  110.         "Patricia Guffey",
  111.             noIcon, noKey, noMark, plain;
  112.         "Greta Shaw",
  113.             noIcon, noKey, noMark, plain;
  114.         "Monty \"Montana-Unit\" Cole",
  115.             noIcon, noKey, noMark, plain;
  116.         "Dr. Bernard Moret",
  117.             noIcon, noKey, noMark, plain
  118.     }
  119. };
  120.  
  121. resource 'CNTL' (129) {
  122.     {40, 10, 60, 270},    /* rect:  contrlRect        */
  123.     129,                /* value: rsrc ID        */
  124.     visible,                /* vis:  standard        */
  125.     129,                /* max: default  menuID    */
  126.     2,                    /* min:  default item #    */
  127.     popMenuProc         /* ProcID: 3             */
  128.         + mRes            /* var: add res names    */
  129.         + mCheck,        /* var: Check selection    */
  130.     'FONT',                /* rfCon: OSType        */
  131.     "Fonts: "            /* title: standard        */
  132. };
  133.  
  134. resource 'MENU' (129) {
  135.     129,
  136.     textMenuProc,
  137.     allEnabled,
  138.     enabled,
  139.     "Fonts: ",
  140.     {    /* 0 items */
  141.     }
  142. };
  143.  
  144. resource 'CNTL' (130) {
  145.     {70, 10, 90, 270},    /* rect:  contrlRect        */
  146.     130,                /* value: rsrc ID         */
  147.     visible,                /* vis:  standard        */
  148.     133,                /* max:  default menuID    */
  149.     1,                    /* min: default  item #    */
  150.     popMenuProc        /* ProcID: 3            */
  151.         + mCheck,        /* var: Check selection    */
  152.     
  153.     0,                    /* rfCon: for user's use    */
  154.     "Root: "                /* title: standard        */
  155. };
  156.  
  157. resource 'MENU' (130) {
  158.     130,
  159.     textMenuProc,
  160.     allEnabled,
  161.     enabled,
  162.     "Root: ",
  163.     {    /* 2 items */
  164.         "Root Item1",
  165.             noIcon, parent, "\0D131", plain;
  166.         "Root Item2",
  167.             noIcon, parent, "\0D132", plain
  168.     }
  169. };
  170.  
  171. resource 'MENU' (131) {
  172.     131,
  173.     textMenuProc,
  174.     allEnabled,
  175.     enabled,
  176.     "",
  177.     {    /* 2 items */
  178.         "Sub-1 Item1",
  179.             noIcon, noKey, noMark, plain;
  180.         "Sub-1 Item2",
  181.             noIcon, noKey, noMark, plain;
  182.         "Sub-1 Item3",
  183.             noIcon, parent, "\0D133", plain
  184.     }
  185. };
  186.  
  187. resource 'MENU' (132) {
  188.     132,
  189.     textMenuProc,
  190.     allEnabled,
  191.     enabled,
  192.     "",
  193.     {    /* 2 items */
  194.         "Sub-2 Item1",
  195.             noIcon, noKey, noMark, plain;
  196.         "Sub-2 Item2",
  197.             noIcon, noKey, noMark, plain;
  198.         "Sub-2 Item3 (a very, very, very wide item)",
  199.             noIcon, noKey, noMark, plain
  200.     }
  201. };
  202.  
  203. resource 'MENU' (133) {
  204.     133,
  205.     textMenuProc,
  206.     allEnabled,
  207.     enabled,
  208.     "",
  209.     {    /* 2 items */
  210.         "Sub-3 Item1",
  211.             noIcon, noKey, noMark, plain;
  212.         "Sub-3 Item2",
  213.             noIcon, noKey, noMark, plain;
  214.         "Sub-3 Item3",
  215.             noIcon, noKey, noMark, plain
  216.     }
  217. };
  218.  
  219. #if    COLOR
  220. resource 'mctb' (128) {
  221.     {    /* array MCTBArray: 12 elements */
  222.         /* [1] */
  223.         128, 0,                        /* menu 128, title    */
  224.         {    /* array: 4 elements */
  225.             /* [1] */            
  226.             0, 0, $FFFF,
  227.             /* [2] */            
  228.             0, 0, 0,
  229.             /* [3] */
  230.             0, $FFFF, 0,
  231.             /* [4] */
  232.             $FFFF, $FFFF, $FFFF
  233.         },
  234.         
  235.         128, 1,                        /* menu 128, item 1    */
  236.         {    /* array: 4 elements */
  237.             /* [1] */            
  238.             $FFFF, 0, 0,
  239.             /* [2] */
  240.             $0040, $FFFF, 0,
  241.             /* [3] */
  242.             0, 0, 0,
  243.             /* [4] */
  244.             0, 0, 0,
  245.         },
  246.         
  247.         128, 2,                    /* menu 128, item 2    */
  248.         {    /* array: 4 elements */
  249.             /* [1] */            
  250.             $FFFF, 0, 0,
  251.             /* [2] */
  252.             $0100, $8000, 0,
  253.             /* [3] */
  254.             0, 0, 0,
  255.             /* [4] */
  256.             0, 0, 0,
  257.         },
  258.         
  259.         128, 3,                    /* menu 128, item 3    */
  260.         {    /* array: 4 elements */
  261.             /* [1] */            
  262.             $FFFF, 0, 0,
  263.             /* [2] */
  264.             $0400, $6000, 0,
  265.             /* [3] */
  266.             0, 0, 0,    
  267.             /* [4] */
  268.             0, 0, 0,
  269.         },
  270.         
  271.         128, 4,                    /* menu 128, item 4    */
  272.         {    /* array: 4 elements */
  273.             /* [1] */            
  274.             $FFFF, 0, 0,
  275.             /* [2] */
  276.             $0800, $4000, 0,
  277.             /* [3] */
  278.             0, 0, 0,
  279.             /* [4] */
  280.             0, 0, 0,
  281.         },
  282.         
  283.         128, 5,                    /* menu 128, item 5    */
  284.         {    /* array: 4 elements */
  285.             /* [1] */            
  286.             $FFFF, 0, 0,
  287.             /* [2] */
  288.             $1000, $2000, 0,
  289.             /* [3] */
  290.             0, 0, 0,
  291.             /* [4] */
  292.             0, 0, 0,
  293.         },
  294.         
  295.         128, 6,                    /* menu 128, item 6    */
  296.         {    /* array: 4 elements */
  297.             /* [1] */            
  298.             $FFFF, 0, 0,
  299.             /* [2] */
  300.             $1800, $1800, 0,
  301.             /* [3] */
  302.             0, 0, 0,
  303.             /* [4] */
  304.             0, 0, 0,
  305.         },
  306.         
  307.         128, 7,                    /* menu 128, item 7    */
  308.         {    /* array: 4 elements */
  309.             /* [1] */            
  310.             $FFFF, 0, 0,
  311.             /* [2] */
  312.             $2000, $1000, 0,
  313.             /* [3] */
  314.             0, 0, 0,
  315.             /* [4] */
  316.             0, 0, 0,
  317.         },
  318.         
  319.         128, 8,                    /* menu 128, item 8    */
  320.         {    /* array: 4 elements */
  321.             /* [1] */            
  322.             $FFFF, 0, 0,
  323.             /* [2] */
  324.             $4000, $0400, 0,
  325.             /* [3] */
  326.             0, 0, 0,
  327.             /* [4] */
  328.             0, 0, 0,
  329.         },
  330.         
  331.         128, 9,                    /* menu 128, item 9    */
  332.         {    /* array: 4 elements */
  333.             /* [1] */            
  334.             $FFFF, 0, 0,
  335.             /* [2] */
  336.             $6000, $0200, 0,
  337.             /* [3] */
  338.             0, 0, 0,
  339.             /* [4] */
  340.             0, 0, 0,
  341.         },
  342.         
  343.         128, 10,                /* menu 128, item 10 */
  344.         {    /* array: 4 elements */
  345.             /* [1] */            
  346.             $FFFF, 0, 0,
  347.             /* [2] */
  348.             $8000, $0100, 0,
  349.             /* [3] */
  350.             0, 0, 0,
  351.             /* [4] */
  352.             0, 0, 0,
  353.         },
  354.         
  355.         128, 11,                    /* menu 128, item 11 */
  356.         {    /* array: 4 elements */
  357.             /* [1] */            
  358.             $FFFF, 0, 0,
  359.             /* [2] */
  360.             $FFFF, $0040, 0,
  361.             /* [3] */
  362.             0, 0, 0,
  363.             /* [4] */
  364.             0, 0, 0,    
  365.         }
  366.     }
  367. };
  368.  
  369. resource 'mctb' (129) {
  370.     {    /* array MCTBArray: 1 elements */
  371.         /* [1] */
  372.         129, 0,
  373.         {    /* array: 4 elements */
  374.             /* [1] */
  375.             0, $4000, $4000,
  376.             /* [2] */            
  377.             0, 0, 0,
  378.             /* [3] */
  379.             0, $4000, 0,
  380.             /* [4] */
  381.             $FFFF, $FFFF, $FFFF
  382.         }
  383.     }
  384. };
  385.  
  386. resource 'mctb' (130) {
  387.     {    /* array MCTBArray: 1 elements */
  388.         /* [1] */
  389.         130, 0,
  390.         {    /* array: 4 elements */
  391.             /* [1] */
  392.             $0, $4000, $0,
  393.             /* [2] */            
  394.             0, 0, 0,
  395.             /* [3] */
  396.             0, $4000, 0,
  397.             /* [4] */
  398.             $4000, 0, $4000
  399.         }
  400.     }
  401. };
  402.  
  403. resource 'mctb' (131) {
  404.     {    /* array MCTBArray: 1 elements */
  405.         /* [1] */
  406.         131, 0,
  407.         {    /* array: 4 elements */
  408.             /* [1] */
  409.             $8000, $8000, $2000,
  410.             /* [2] */
  411.             $0, $0, $0,
  412.             /* [3] */
  413.             $0, $0, $0,
  414.             /* [4] */
  415.             $2000, $2000, $8000
  416.         }
  417.     }
  418. };
  419.  
  420. resource 'mctb' (132) {
  421.     {    /* array MCTBArray: 1 elements */
  422.         /* [1] */
  423.         132, 0,
  424.         {    /* array: 4 elements */
  425.             /* [1] */
  426.             $1000, $C000, $C000,
  427.             /* [2] */            
  428.             0, 0, 0,
  429.             /* [3] */
  430.             $4000, $6000, $FFFF,
  431.             /* [4] */
  432.             $C000, $1000, $1000
  433.         }
  434.     }
  435. };
  436.  
  437. resource 'mctb' (133) {
  438.     {    /* array MCTBArray: 1 elements */
  439.         /* [1] */
  440.         133, 0,
  441.         {    /* array: 4 elements */
  442.             /* [1] */
  443.             $8000, $0, $0,
  444.             /* [2] */            
  445.             0, 0, 0,
  446.             /* [3] */
  447.             $4000, 0, $4000,
  448.             /* [4] */
  449.             $0, $8000, $0
  450.         }
  451.     }
  452. };
  453.  
  454. resource 'dctb' (128) {
  455.     0x0,
  456.     0,
  457.     {    /* array ColorSpec: 3 elements */
  458.         /* [1] */
  459.         wContentColor, $FFFF, $FFFF, $FFFF,
  460.         /* [2] */
  461.         wFrameColor, 0, 0, $FFFF,
  462.         /* [3] */
  463.         wHiliteColor, $2000, $FFFF, $2000
  464.     }
  465. };
  466.  
  467. data 'ictb' (128) {
  468.     /* (000) 0000: */    $"0040 0018"
  469.     /* (004) 0004: */    $"0040 0018"
  470.     /* (008) 0008: */    $"0000 0000"
  471.     /* (012) 000C: */    $"0000 0000"
  472.     /* (016) 0010: */    $"0000 0000"
  473.     /* (020) 0014: */    $"800F 0040"
  474.     
  475.     /* (024) 0018: */    $"0000 0000"
  476.     /* (028) 001C: */    $"0000"
  477.     /* (030) 001E: */    $"0003"
  478.     /* (032) 0020: */    $"0000 0000 0000 0000"
  479.     /* (040) 0028: */    $"0001 4000 FFFF 4000"
  480.     /* (048) 0030: */    $"0002 0000 0000 0000"
  481.     /* (056) 0038: */    $"0003 0000 0000 FFFF"
  482.     
  483.     /* (064) 0040: */    $"0054"
  484.     /* (066) 0042: */    $"0200"
  485.     /* (068) 0044: */    $"0009"
  486.     /* (070) 0046: */    $"FFFF 0000 0000"
  487.     /* (076) 004C: */    $"FFFF FFFF FFFF"
  488.     /* (082) 0052: */    $"0001"
  489.     
  490.     /* (084) 0054: */    $"0647 656E 6576 61"
  491. };
  492. #endif    /* COLOR */
  493.  
  494. /* end of resource file */
  495.  
  496.